﻿using System;
using System.Drawing;
using System.Windows.Forms;

namespace Integra.PresentacionWindows.Base
{
    /// <summary>
    /// Clase estática que contiene los valores por defecto
    /// para diversos aspectos del interfaz de una aplicación.
    /// Cada aplicación inicializará estos campos con los valores
    /// adecuados, que se utilizarán para mostrar los diálogos 
    /// estándar (excepciones, etc...) con un aspecto consistente
    /// con el del resto de la aplicación
    /// </summary>
    public class ConfigUI
    {
        private ConfigUI()
        { }

        /// <summary>
        /// Color de fondo para el formulario
        /// </summary>
        public static Color ColorFondoForm = Color.FromKnownColor(KnownColor.Control);

        /// <summary>
        /// Color de letra para el formulario
        /// </summary>
        public static Color ColorLetraForm = Color.FromKnownColor(KnownColor.ControlText);

        /// <summary>
        /// Color de fondo para controles de tipo texto, lista, etc...
        /// </summary>
        public static Color ColorFondoTextBox = Color.FromKnownColor(KnownColor.Window);

        /// <summary>
        /// Color de letra para controles de tipo texto, lista, etc...
        /// </summary>
        public static Color ColorLetraTextBox = Color.FromKnownColor(KnownColor.WindowText);

        /// <summary>
        /// Color de fondo para controles tipo botón
        /// </summary>
        public static Color ColorFondoBoton = Color.FromKnownColor(KnownColor.Control);

        /// <summary>
        /// Color de letra para controles tipo botón
        /// </summary>
        public static Color ColorLetraBoton = Color.FromKnownColor(KnownColor.ControlText);

        /// <summary>
        /// Color de fondo para controles inactivos
        /// </summary>
        public static Color ColorInactivo = Color.FromKnownColor(KnownColor.InactiveCaption);

        /// <summary>
        /// Color de fondo para paneles secundarios
        /// </summary>
        public static Color ColorFondoPanel = Color.FromKnownColor(KnownColor.ControlDark);

        /// <summary>
        /// Color de fondo para fondos oscuros (fondo grid, MDI)
        /// </summary>
        public static Color ColorFondoOscuro = Color.FromKnownColor(KnownColor.ControlDarkDark);

        /// <summary>
        /// Color de fondo alternativo (p.ej. grids, tooltips)
        /// </summary>
        public static Color ColorFondoAlternativo = Color.FromKnownColor(KnownColor.Info);

        /// <summary>
        /// Color de fondo de las cabeceras de un grid
        /// </summary>
        public static Color ColorFondoCabecera = Color.FromKnownColor(KnownColor.ActiveCaption);

        /// <summary>
        /// Color de letra de las cabeceras de un grid
        /// </summary>
        public static Color ColorLetraCabecera = Color.FromKnownColor(KnownColor.ActiveCaptionText);

        /// <summary>
        /// Color de fondo de un elemento seleccionado en un grid
        /// </summary>
        public static Color ColorFondoSeleccionado = Color.FromKnownColor(KnownColor.Highlight);

        /// <summary>
        /// Color de letra de un elemento seleccionado en un grid
        /// </summary>
        public static Color ColorLetraSeleccionado = Color.FromKnownColor(KnownColor.HighlightText);

        /// <summary>
        /// Fuente por defecto
        /// </summary>
        public static Font Fuente = new Font("Microsoft Sans Serif", 8.25f);

        /// <summary>
        /// Icono de los formularios
        /// </summary>
        public static Icon Icono;
    }
}
